package com.sq.partner.manager.service;

import com.sq.partner.manager.common.Result;
import com.sq.partner.manager.mybatis.model.*;
import com.sq.partner.manager.util.Page;

import javax.servlet.http.HttpServletResponse;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

public interface IFuelGasPolicyListService {

    /**
     * 分页条件查询财险保单信息
     * @param page
     * @return
     * @throws Exception
     */
    public Page queryFuelGasPolicyPageByCriteria(Page page) throws Exception;

    /**
     * 条件查询财险保单信息
     * @param
     * @return
     * @throws Exception
     */
    public List<Map<String,Object>> queryFuelGasPolicyListByCriteria(Map<String,Object> map) throws Exception;

    /**
     * 财险保单信息导出
     * @param nocarPolicyList
     * @throws Exception
     */
    public void downloadFuelGasPolicyFile(List<Map<String,Object>> nocarPolicyList,HttpServletResponse response) throws Exception;

    /**
     * 根据所选机构获取其下的合作伙伴集合
     * @param channelInfo
     * @return
     * @throws Exception
     */
    public List<Map> queryChannelListOfNocar(GatewayChannelInfo channelInfo,String flag)throws Exception;

    /**
     * 财险查询详细信息
     */
    public GatewayPolicy queryPolicyInfoByPolNo(String polNo) throws Exception;

    /***
     * 财险查询被保人
     */
    public GatewayNocarBase queryNocarBaseByPolicyId(String policyId) throws Exception;

    /**
     * 查询保单邮件并重新发送
     */
    public Result addEmailReSend(String polNo,String email) throws Exception;

    /**
     * 查询保单短信并重新发送
     */
    public Result addSMSReSend(String polNo,String phoneNo) throws Exception;

    /**
     * 汇总信息查询
     * @throws Exception
     */
    public Map<String, Object> queryFuelGasPolicyAll(Map<String, String> map) throws Exception;


}
